package com.repair.miniApp.service;

import com.repair.miniApp.domain.MiniAppUsers;
import com.repair.miniApp.mapper.MiniAppUsersMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 小程序用户Service实现类
 * 
 * @author repair
 * @date 2024-12-05
 */
@Service
public class IMiniAppUsersService {
    @Autowired
    private MiniAppUsersMapper miniAppUsersMapper;

    /**
     * 查询小程序用户
     * 
     * @param userId 小程序用户主键
     * @return 小程序用户
     */
    public MiniAppUsers selectMiniAppUsersByUserId(String userId) {
        return miniAppUsersMapper.selectMiniAppUsersByUserId(userId);
    }

    /**
     * 查询小程序用户列表
     * 
     * @param miniAppUsers 小程序用户
     * @return 小程序用户集合
     */
    public List<MiniAppUsers> selectMiniAppUsersList(MiniAppUsers miniAppUsers) {
        return miniAppUsersMapper.selectMiniAppUsersList(miniAppUsers);
    }

    /**
     * 新增小程序用户
     * 
     * @param miniAppUsers 小程序用户
     * @return 结果
     */
    public int insertMiniAppUsers(MiniAppUsers miniAppUsers) {
        return miniAppUsersMapper.insertMiniAppUsers(miniAppUsers);
    }

    /**
     * 修改小程序用户
     * 
     * @param miniAppUsers 小程序用户
     * @return 结果
     */
    public int updateMiniAppUsers(MiniAppUsers miniAppUsers) {
        return miniAppUsersMapper.updateMiniAppUsers(miniAppUsers);
    }

    /**
     * 删除小程序用户
     * 
     * @param userId 小程序用户主键
     * @return 结果
     */
    public int deleteMiniAppUsers(String userId) {
        return miniAppUsersMapper.deleteMiniAppUsers(userId);
    }

    /**
     * 登录
     * 
     * @param miniAppUser 小程序用户
     * @return 登录结果
     */
    public MiniAppUsers login(MiniAppUsers miniAppUser) {
        return miniAppUsersMapper.selectMiniAppUsersByAccountAndPassword(miniAppUser.getAccount(), miniAppUser.getPassword(),miniAppUser.getRole());
    }

    /**
     * 注册
     * 
     * @param miniAppUsers 小程序用户
     * @return 注册结果
     */
    public int register(MiniAppUsers miniAppUsers) {
        // 检查用户是否已存在
        MiniAppUsers existingUser = miniAppUsersMapper.selectMiniAppUsersByAccount(miniAppUsers.getAccount());
        if (existingUser != null) {
            return -1; // 用户已存在
        }
        // 执行注册
        return miniAppUsersMapper.insertMiniAppUsers(miniAppUsers);
    }
}
